﻿using System;

namespace OmniKits.Windows.Scripting
{
    public enum ScriptState : uint
    {
        Uninitialized = 0,
        Started = 1,
        Connected = 2,
        Disconnected = 3,
        Closed = 4,
        Initialized = 5,
    }

    public enum ScriptThreadState : uint
    {
        NotInScript = 0,
        Running = 1,
    }

    [Flags]
    public enum ScriptTextFlag : uint
    {
        None = 0,

        DelayExecution = 1,
        IsVisible = 2,
        IsExpression = 32,
        IsPersistent = 64,
        HostManageSource = 128,

        Reusable = DelayExecution | IsPersistent,
    }

    [Flags]
    public enum ScriptItemFlag : uint
    {
        None = 0,

        IsVisible = 2,
        IsSource = 4,
        GlobalMembers = 8,
        IsPersistent = 64,
        CodeOnly = 512,
        NoCode = 1024,
    }

    [Flags]
    public enum ScriptInfoFlag : uint
    {
        None = 0,

        IUnknown = 1,
        ITypeInfo = 2,
    }
}
